_DEVICE_CAPABILITIES

//0x40 bytes (sizeof) struct _DEVICE_CAPABILITIES { USHORT Size; //0x0 USHORT Version; //0x2 ULONG DeviceD1:1; //0x4 ULONG DeviceD2:1; //0x4 ULONG LockSupported:1; //0x4 ULONG EjectSupported:1; //0x4 ULONG Removable:1; //0x4 ULONG DockDevice:1; //0x4 ULONG UniqueID:1; //0x4 ULONG SilentInstall:1; //0x4 ULONG RawDeviceOK:1; //0x4 ULONG SurpriseRemovalOK:1; //0x4 ULONG WakeFromD0:1; //0x4 ULONG WakeFromD1:1; //0x4 ULONG WakeFromD2:1; //0x4 ULONG WakeFromD3:1; //0x4 ULONG HardwareDisabled:1; //0x4 ULONG NonDynamic:1; //0x4 ULONG WarmEjectSupported:1; //0x4 ULONG NoDisplayInUI:1; //0x4 ULONG Reserved1:1; //0x4 ULONG WakeFromInterrupt:1; //0x4 ULONG Reserved:12; //0x4 ULONG Address; //0x8 ULONG UINumber; //0xc enum _DEVICE_POWER_STATE DeviceState[7]; //0x10 enum _SYSTEM_POWER_STATE SystemWake; //0x2c enum _DEVICE_POWER_STATE DeviceWake; //0x30 ULONG D1Latency; //0x34 ULONG D2Latency; //0x38 ULONG D3Latency; //0x3c };